package com.ruoyi.fun.service;

import java.util.List;
import com.ruoyi.fun.domain.EcCart;

/**
 * 购物车Service接口
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public interface IEcCartService 
{
    /**
     * 查询购物车
     * 
     * @param cartId 购物车主键
     * @return 购物车
     */
    public EcCart selectEcCartByCartId(Long cartId);

    /**
     * 查询购物车列表
     * 
     * @param ecCart 购物车
     * @return 购物车集合
     */
    public List<EcCart> selectEcCartList(EcCart ecCart);

    /**
     * 新增购物车
     * 
     * @param ecCart 购物车
     * @return 结果
     */
    public int insertEcCart(EcCart ecCart);

    /**
     * 修改购物车
     * 
     * @param ecCart 购物车
     * @return 结果
     */
    public int updateEcCart(EcCart ecCart);

    /**
     * 批量删除购物车
     * 
     * @param cartIds 需要删除的购物车主键集合
     * @return 结果
     */
    public int deleteEcCartByCartIds(Long[] cartIds);
    
    /**
     * 批量删除购物车（带组织ID）
     * 
     * @param cartIds 需要删除的购物车主键集合
     * @param orgId 组织ID
     * @return 结果
     */
    public int deleteEcCartByCartIds(Long[] cartIds, Long orgId);

    /**
     * 删除购物车信息
     * 
     * @param cartId 购物车主键
     * @return 结果
     */
    public int deleteEcCartByCartId(Long cartId);
    
    /**
     * 删除购物车信息（带组织ID）
     * 
     * @param cartId 购物车主键
     * @param orgId 组织ID
     * @return 结果
     */
    public int deleteEcCartByCartId(Long cartId, Long orgId);

    /**
     * 根据cartId和组织ID查询Cart
     * 
     * @param cartId Cart主键
     * @param orgId 组织ID
     * @return Cart
     */
    public EcCart selectEcCartByCartIdAndOrgId(Long cartId, Long orgId);

    /**
     * 根据组织ID查询Cart列表
     * 
     * @param eccart Cart
     * @param orgId 组织ID
     * @return Cart集合
     */
    public List<EcCart> selectEcCartListByOrgId(EcCart eccart, Long orgId);
}
